home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
LIBRARY
/
PAS_0793
/
DIGSOUND.TXT
< prev
next >
Wrap
Text File
|
1993-08-01
|
5KB
|
74 lines
─ Fido Pascal Conference ────────────────────────────────────────────── PASCAL ─
Msg : 418 of 448
From : Bernie Pallek 1:247/128.0 24 Jul 93 11:10
To : Matthew Mclin
Subj : (2/2) Digital Sound
────────────────────────────────────────────────────────────────────────────────
MM> Does anybody know the format of .MOD/.SAM/.WAV/.VOC file?
Amiga Protracker Module Format
+------++-----++-----------+
|Offset||Bytes||Description|
++------++-----++-----------+---------------------------------------------
|| 0 20 Module name. Padded with spaces until the end (or should
|| be). Remember to only print 20 characters.
|+-Samples----------------------------------------------------------------
|| 20( 0) 22 Sample Name. Should be padded with nulls for the full
|| length of it after the sample name.
|| 42(22) 2 Sample Length. Stored as an Amiga word which needs to be
|| swapped on an IBM. This word needs to be multiplied by
|| two to get the real length. If the initial length is
|| greater than 8000h, then the sample is greater than 64k.
|| 44(24) 1 Sample Finetune Byte. This byte is the finetune value for
|| the sample. The upper four bits should be zeroed out.
|| The lower four are the fine tune value.
|| Value : 0 1 2 3 4 5 6 7 8 9 A B C D E F
|| = Finetune: 0 +1 +2 +3 +4 +5 +6 +7 -8 -7 -6 -5 -4 -3 -2 -1
|| 45(25) 1 Sample Volume. The rangle is always 0..64
|| 46(26) 2 Sample Repeat. Stored as an Amiga word. Multiply this by
|| two and add it to the beginning offset of the sample to
|| get the repeat point.
|| 48(28) 2 Sample Repeat Length. Stored as an Amiga word. Multiply
|| this by two to get the Repeat Length.
|+-------------------------------------------------------------------------
|| *** The remaining 14 or 30 samples follow this point ***
|| *** using the same format as above. Note that the ***
|| *** rest of this module format follows a 31 sample ***
|| *** format, which is not different from the 15 ***
|| *** sample format except for the file offset. ***
|+-------------------------------------------------------------------------
|| 950 1 The Song Length in the range of 1 to 128.
|| 951 1 I don't know. I was told that Noisetracker uses this byte
|| for a restart, but I don't use Noisetracker. Anyone
|| have any info?
|| 952 128 Play Sequences 0-127. These indicate the appropriate
|| pattern to play at this given position.
||1080 4 If this position contains: "M.K." or "FLT4" or "FLT8"
|| - the module is 31 ins.
|+-Patterns----------------------------------------------------------------
||1084(0) 1 Upper 4 bits: MSB of the instrument. Must be ORed with
|| the LSB. Lower 4 bits: Upper 4 bits of the period.
||1085(1) 1 Contains the lower 8 bits of the period.
||1086(2) 1 Upper 4 bits: LSB of the instrument. Must be ORed with
|| the MSB. Lower 4 bits: Special effects command.
|| Contains a command 0-F.
||1087(3) 1 Special effects data.
|+-------------------------------------------------------------------------
|| *** The number of patterns is the highest pattern ***
|| *** number stored in the Play Sequence list. ***
|+-------------------------------------------------------------------------
|| Each note is four bytes long. Four notes make up a track. They are
|| stored like this:
|| 0-3 4-7 8-11 12-15
|| Channel 1 Channel 2 Channel 3 Channel 4
|| 16-19 20-23 24-27 28-31
|| Channel 1 Channel 2 Channel 3 Channel 4
|| ...and so on.
||
|| 00 00 00 00
|| || || || ||
|| /\ // /\ \\
|| MSB of Ins. Note LSB Ins. Spec. Com. Data for special
||
|| The samples immediately follow.
++-------------------------------------------------------------------------